package com.ruoyi.db.domain;

import java.math.BigDecimal;

import cn.hutool.core.util.StrUtil;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 机构收益对象 ml_special_costom_info_profit
 * 
 * @author ruoyi
 * @date 2023-03-12
 */
public class SpecialCostomInfoProfit extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /**  */
    private Long id;

    /**  */
    @Excel(name = "")
    private String infoName;

    /**  */
    @Excel(name = "")
    private String infoId;

    /**  */
    @Excel(name = "")
    private String dateInfo;

    /** 推送收益 */
    @Excel(name = "推送收益")
    private BigDecimal profitAmount;

    /** 退款/补量 金额 */
    @Excel(name = "退款/补量 金额")
    private BigDecimal refundAmount;

    /** 推送成功数量（推送成功才记录） */
    @Excel(name = "推送成功数量", readConverterExp = "推=送成功才记录")
    private Long pushNumber;

    /** 推送数量（撞库成功才推送） */
    @Excel(name = "推送数量", readConverterExp = "撞=库成功才推送")
    private Long registerNumber;

    /** 撞库数量(条件匹配成功才撞库) */
    @Excel(name = "撞库数量(条件匹配成功才撞库)")
    private Long matchNumber;

    /** 进入筛选的量（筛选之前的量） */
    @Excel(name = "进入筛选的量", readConverterExp = "筛=选之前的量")
    private Long chooseNumber;

    public String startDateInfo;

    public String endDateInfo;

    public String getStartDateInfo(){
        if (StrUtil.isNotEmpty(dateInfo) && StrUtil.isEmpty(startDateInfo)){
            String[] split = dateInfo.split(" ~ ");
            this.startDateInfo = split[0];
            return startDateInfo;
        }
        return startDateInfo;
    }

    public String getEndDateInfo(){
        if (StrUtil.isNotEmpty(dateInfo) && StrUtil.isEmpty(endDateInfo)){
            String[] split = dateInfo.split(" ~ ");
            this.endDateInfo = split[1];
            return endDateInfo;
        }
        return endDateInfo;
    }

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setInfoName(String infoName) 
    {
        this.infoName = infoName;
    }

    public String getInfoName() 
    {
        return infoName;
    }
    public void setInfoId(String infoId) 
    {
        this.infoId = infoId;
    }

    public String getInfoId() 
    {
        return infoId;
    }
    public void setDateInfo(String dateInfo) 
    {
        this.dateInfo = dateInfo;
    }

    public String getDateInfo() 
    {
        return dateInfo;
    }
    public void setProfitAmount(BigDecimal profitAmount) 
    {
        this.profitAmount = profitAmount;
    }

    public BigDecimal getProfitAmount() 
    {
        return profitAmount;
    }
    public void setRefundAmount(BigDecimal refundAmount) 
    {
        this.refundAmount = refundAmount;
    }

    public BigDecimal getRefundAmount() 
    {
        return refundAmount;
    }
    public void setPushNumber(Long pushNumber) 
    {
        this.pushNumber = pushNumber;
    }

    public Long getPushNumber() 
    {
        return pushNumber;
    }
    public void setRegisterNumber(Long registerNumber) 
    {
        this.registerNumber = registerNumber;
    }

    public Long getRegisterNumber() 
    {
        return registerNumber;
    }
    public void setMatchNumber(Long matchNumber) 
    {
        this.matchNumber = matchNumber;
    }

    public Long getMatchNumber() 
    {
        return matchNumber;
    }
    public void setChooseNumber(Long chooseNumber) 
    {
        this.chooseNumber = chooseNumber;
    }

    public Long getChooseNumber() 
    {
        return chooseNumber;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("infoName", getInfoName())
            .append("infoId", getInfoId())
            .append("dateInfo", getDateInfo())
            .append("profitAmount", getProfitAmount())
            .append("refundAmount", getRefundAmount())
            .append("pushNumber", getPushNumber())
            .append("registerNumber", getRegisterNumber())
            .append("matchNumber", getMatchNumber())
            .append("chooseNumber", getChooseNumber())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
